<?php 

include_once("../../conexion/ClsConexion.php");

$con = new clsConexion;
session_start();
if ($_SESSION['tmptxt'] == $_POST['txtCaptcha']) {
if($con->conectarse()==true)
{
	@ini_set("session.use_only_cookies","1"); 
	@ini_set("session.use_trans_sid","0"); 
// Inici: Comprueba si existe el usuario	
	$Usuario = $_POST['Username'];
	$query = "CALL SP_S_sgaUSUtUsuario('$Usuario')";
	$rs = mysql_query($query);
	
	while($campo = MySQL_fetch_array($rs))
	{
		$usuario = $campo["USU_Usuario"];
		$intento = $campo["USU_Intento"];
		$tipousuario = $campo["TUS_Nombre"];
		$idusuario = $campo["USU_IdUsuario"];
	}
//No Existe Redirecciona
	if($usuario == "")
	{
	$error = "Usuario no registrado";
	session_start();
	$_SESSION['error'] = $error;				
	header("Location: Login.php");
	}
//Si Existe Compruba Contraseña
	else{
		if($con->conectarse()==true)
		{
		$Contrasena = $_POST['Password'];
		$query = "CALL SP_S_sgaUSUtUsuario_Login('$Usuario','".sha1(md5($Contrasena))."')";
		$rs = mysql_query($query);
		$row = mysql_fetch_assoc($rs);
	
//Si Esta bien la contraseña
		if(mysql_num_rows($rs)!= 0)
			{
	//Compruba Minutos Bloqueo
				if($con->conectarse()==true)
				{
					$query = "CALL SP_S_sgaUSUtUsuario_VerificarHora('$Usuario')";
					$GetTime = mysql_query($query);
					while($campo = MySQL_fetch_array($GetTime))
					{
						$minutos = $campo["EXPIRE_MINUTES"];						
					}
		//Si minutos es null o menor que 0 ingresa
					if(($minutos == "")||($minutos <= 0))
						{
						//Registra Acceso Correcto
						 if($con->conectarse()==true)
							{
							$fechaacc= date("Y-n-j H:i:s"); 
							$ipacc= $_SERVER['REMOTE_ADDR'];
							$query = "CALL SP_I_sgaACCtAcceso('Correcto','$fechaacc','$ipacc','','$idusuario')";
							$result = @mysql_query($query);
							}
						session_name("loginUsuario");
						session_start();
						session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0);
						$_SESSION["autentificado"]= "SI";
						$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s"); 
						$_SESSION['usuario']=array('id'=>$idusuario,'tipo'=>$tipousuario);
						unset($_SESSION['error']);
    					header("Location: index.php");
						if($con->conectarse()==true)
							{
								$query = "CALL SP_U_sgaUSUtUsuario_Activar('$Usuario','ACTIVAR')";
								$GetUser = @mysql_query($query);
							}
						}
		//Sino muestra cuantos minutos falta para debloqueo
					else{
						
						$error = "Usted ha superado el numero maximo de intentos debera esperar: ".$minutos." minutos";
						session_start();
						$_SESSION['error'] = $error;		
						header("Location: Login.php");
						}
				}
						
			}
//Contraseña Erronea
		else{
			
			 if($con->conectarse()==true)
				{
					//Registra Acceso Incorrecto
					 if($con->conectarse()==true)
						{
						$fechaacc= date("Y-n-j H:i:s"); 
						$ipacc= $_SERVER['REMOTE_ADDR'];
						$query = "CALL SP_I_sgaACCtAcceso('Incorrecto','$fechaacc','$ipacc','$Contrasena','$idusuario')";
						$result = @mysql_query($query);
						}
					$query = "CALL SP_S_sgaUSUtUsuario_VerificarHora('$Usuario')";
					$GetTime = mysql_query($query);
					while($campo = MySQL_fetch_array($GetTime))
					{
						$minutos = $campo["EXPIRE_MINUTES"];						
					}
					if(($minutos == "")||($minutos <= 0))
						{
						//Comprueba Intentos 
						//Si intento menor a 3 Aumenta cantidad de intentos
						if($intento < 3)
									{
										if($con->conectarse()==true)
										{
										 $query = "CALL SP_U_sgaUSUtUsuario_Activar('$Usuario','AUMENTAR')";
										 $GetUser = mysql_query($query);
										 $error = "Datos incorrectos usted va ".($intento+1)." intentos";
										 session_start();
										 $_SESSION['error'] = $error;				
										 header("Location: login.php");
										}
									}
						//Caso contrario bloqua
									else
									{
										if($con->conectarse()==true)
										{
										 $query = "CALL SP_U_sgaUSUtUsuario_Activar('$Usuario','BLOQUEAR')";
										 $GetUser = mysql_query($query);
										 $error = "Usted ha superado el numero maximo de intentos, ha sido bloqueado hasta por 10 minutos";
										 session_start();
										 $_SESSION['error'] = $error;				
										 header("Location: login.php");
										}
									}				
						}
		//Sino muestra cuantos minutos falta para desbloqueo
					else{
						$error = "Usted ha superado el numero maximo de intentos debera esperar: ".$minutos." minutos";
						session_start();
						$_SESSION['error'] = $error;
						header("Location: Login.php");
						}
				}
			}
		}
	}
}
} 
else {
		 $error = "Los valores ingresados no coinciden con la imagen";
		 session_start();
		 $_SESSION['error'] = $error;				
		 header("Location: login.php");
	}
@mysql_close($con);
?>